package pers.xx.sbm.utils.jf;

import com.baidu.aip.ocr.AipOcr;
import org.json.JSONException;
import org.json.JSONObject;
import pers.xx.sbm.vo.DataVo;

import java.util.HashMap;

/**
 * @author ：xiexing
 * @description：TODO
 * @date ：2021/1/31 11:56
 */
public class OcrUtils {

    //设置APPID/AK/SK
    public static final String APP_ID = "18174708";
    public static final String API_KEY = "hCeDmuT0YNUWmqaYiuwb3Pda";
    public static final String SECRET_KEY = "yf0IgduG6Mo21xHAOQGwt2wpKWfD25Ll";

    /**
     * @param imgPath 图片路径
     * @description ocr工具
     * @author XieXing
     * @date 2021/1/31 11:59
     */
    public static DataVo ocr(String imgPath) {
        // 初始化一个AipOcr
        AipOcr client = new AipOcr(APP_ID, API_KEY, SECRET_KEY);

        // 可选：设置网络连接参数
        client.setConnectionTimeoutInMillis(2000);
        client.setSocketTimeoutInMillis(60000);

        // 可选：设置代理服务器地址, http和socket二选一，或者均不设置
//        client.setHttpProxy("proxy_host", proxy_port);  // 设置http代理
//        client.setSocketProxy("proxy_host", proxy_port);  // 设置socket代理

        // 可选：设置log4j日志输出格式，若不设置，则使用默认配置
        // 也可以直接通过jvm启动参数设置此环境变量
//        System.setProperty("aip.log4j.conf", "log4j.properties");
        DataVo dataVo = new DataVo();//数据vo类
        // 调用接口
//        String path = "C:\\Users\\18359\\Desktop\\book\\all";//图片路径
        try {
            JSONObject res = client.basicGeneral(imgPath, new HashMap<String, String>());
            dataVo.setCode("0");//表示正常
            dataVo.setName(res.get("words_result").toString());
            return dataVo;
        } catch (JSONException e) {
            dataVo.setCode("1");//表示异常
            dataVo.setName(e.getMessage());
            return dataVo;
        }
    }
}
